#ifndef JOUEUR_H_INCLUDED
#define JOUEUR_H_INCLUDED
#include <string>
#include <vector>
#include "equipe.h"


using namespace std;

class Carte;
class Equipe;
class Pli;

class Joueur
{
private:
string nom; // Nom du joueur
int numero; //numéro du joueur
int numero_fixe; //pour savoir qui commence, prend
Equipe *e; //equipe dont le joueur fait partie
vector< Carte*> pied; //main du joueur
bool prend; //vrai s'il a pris
bool doitdecider; // vrai si c'est à lui de prendre

public :
Joueur (string n, int num_fixe);
void ajouter_carte_au_pied (Carte *c); //ajoute une carte à la main du joueur
void enlever_carte_au_pied (int n); //enlève la carte du pied (met le pointeur à 0)
void setequipe (Equipe *e);
void setnumero (int n);
void setprend (bool a);
void setdoidecider (bool a);
int getnumero();
int getnumero_fixe();
vector< Carte*> getpied();
vector< Carte*> cartesjouables();  //Utilisable directement par l'IA
void afficherpied();
bool getprend ();
bool getdoidecider ();
Carte * selectcarte(int n);  //renvoie le pointeur vers la nième carte du pied (on s'en sert quand on veut joueur la carte en question)
void jouercarte(Pli* p, int n); //joue la n-ième carte du joueur : met la carte dans le pli et la supprime de son pied
bool jouer(Pli p,int n,bool*);
void initialisation(int n);
Equipe* getequipe();

};

#endif
